package com.wyt.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wyt.pojo.User;
import com.wyt.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;
/**
    get  必选参数：ID，可选参数：无，作用：
    remove 必选参数：ID，可选参数：无，作用：删除一条用户信息
    insert 必选参数：ID，name，可选参数：age，作用：添加一条用户信息，BOOKID1、BOOKID2置为null
    update 必选参数：必选参数：ID，可选参数：name，age，BOOKID1，BOOKID2，作用：用户可以按需修改某些信息*/

    @GetMapping("/get")
    public String getByID(Integer id){
        User user = userMapper.selectById(id);
        if (user!=null){
            return user.toString();
        }
        return "用户不存在";
    }

    @GetMapping("/delete")
    public String DeleteByID(Integer id){
        int i = userMapper.deleteById(id);
        if (i==1){
            return "删除成功";
        }
        return "用户不存在";
    }

    @GetMapping("/insert")
    public String insert(User user) {
        int insert = userMapper.insert(user);
        if (insert!=0){
            return "插入成功！";
        }
        return "插入失败";
    }
    @GetMapping("/update")
    public String update(User user){
        int update = userMapper.update(user, null);
        if (update!=0){
            return "更新成功！";
        }
        return "更新失败";
    }

/**
 * /query POST方法 参数同/get
 * /kill POST方法 参数同/remove
 * /add POST 参数同/insert
 * /check POST 参数同/update
 */

    @PostMapping("/query")
    public String query(Integer id){
        User user = userMapper.selectById(id);
        if (user!=null){
            return user.toString();
        }
        return "用户不存在";
    }
    @PostMapping("/kill")
    public String kill(Integer id){
        int i = userMapper.deleteById(id);
        if (i==1){
            return "删除成功";
        }
        return "用户不存在";
    }
    @PostMapping("/add")
    public String add(@RequestBody User user) {
        int insert = userMapper.insert(user);
        if (insert!=0){
            return "插入成功！";
        }
        return "插入失败";
    }
    @PostMapping("/check")
    public String check(@RequestBody  User user){
        int update = userMapper.updateById(user);
        if (update!=0){
            return "更新成功！";
        }
        return "更新失败";
    }
}
